Programming Aid Tool for Detecting Common Mistakes of Novice Programmers in OpenMP Code
نویسندگان
چکیده
OpenMP is an API for parallel programming model of shared memory multiprocessors. Novice OpenMP programmers often produce the code that compiler cannot find human errors. It was investigated how compiler coped with the common mistakes that can occur in OpenMP code. The latest version(4.4.3) of GCC is used for this research. It was found that GCC compiled the codes without any errors or warnings. In this paper the programming aid tool is presented for OpenMP programs. It can check 12 common mistakes that novice programmer can commit during the programming of OpenMP. It was demonstrated that the programming aid tool can detect the various common mistakes that GCC failed to detect. Keywords— parallel programming, OpenMP, programming aid
منابع مشابه
Using Cognitive Computing for Learning Parallel Programming: An IBM Watson Solution
While modern parallel computing systems provide high performance resources, utilizing them to the highest extent requires advanced programming expertise. Programming for parallel computing systems is much more difficult than programming for sequential systems. OpenMP is an extension of C++ programming language that enables to express parallelism using compiler directives. While OpenMP alleviate...
متن کاملCommon Mistakes in OpenMP and How to Avoid Them - A Collection of Best Practices
Few data are available on common mistakes made when using OpenMP. This paper presents a study on the programming errors observed in our courses on parallel programming during the last two years, along with numbers on which compilers and tools were able to spot them. The mistakes are explained and best practices for programmers are suggested to avoid them in the future. The best practices are pr...
متن کاملAutomated Program Analysis for Novice Programmers
This paper describes how to adapt a static code analyzer to help novice programmers realize their mistakes , as current analyzers give feedback which is not very useful for novice programmers. An extension to PMD was made so that feedback messages appear which are easier to understand for novice programmers. Firstly, the current limitations of PMD were looked at by looking at their feedback of ...
متن کاملOvercoming Distributed Debugging Challenges in the MPI+OpenMP Programming Model
There is a general consensus that exascale computing will employ a wide range of programming models to harness the many levels of architectural parallelism [1], including models to exploit parallelism in CPUs and devices, such as OpenMP. To aid programmers in managing the complexities arising from multiple programming models, debugging tools must enable programmers to identify errors at the lev...
متن کاملObject-Oriented Programming with Jeroo in the Information Technology Classroom
Jeroo is a tool that helps novice programmers learn fundamental concepts of object-oriented programming. Specifically, Jeroo focuses on objects, methods, and fundamental control structures. The tool is a self-contained environment in which students write and execute programs to control the actions of Jeroos and their interactions with their environment. Simple animation and source code highligh...
متن کامل